<!DOCTYPE html>
<meta charset="utf-8">
<title>IDBIndex.count() - throw DataError when using invalid key</title>
<link rel="author" title="Intel" href="http://www.intel.com">
<link rel="help" href="https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBIndex-count-IDBRequest-any-key">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support.js"></script>
<div id="log"></div>
<script>
    var db, t = async_test();

    var open_rq = createdb(t);

    open_rq.onupgradeneeded = function(e) {
        db = e.target.result;
        var store = db.createObjectStore("store", { autoIncrement: true });
        store.createIndex("index", "indexedProperty");

        for(var i = 0; i < 10; i++) {
            store.add({ indexedProperty: "data" + i });
        }
    }

    open_rq.onsuccess = function(e) {
        var index = db.transaction("store")
                      .objectStore("store")
                      .index("index");

        assert_throws_dom("DataError", function() {
            index.count(NaN);
        });

        t.done();
    }
</script>

